package br.com.ifsp.salto.matriculadp.negocio;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import br.com.caelum.vraptor.ioc.Component;
import br.com.ifsp.salto.matriculadp.negocio.to.CursoTO;
import br.com.ifsp.salto.matriculadp.negocio.to.DisciplinaTO;
import br.com.ifsp.salto.matriculadp.negocio.to.HorarioTO;
import br.com.ifsp.salto.matriculadp.negocio.to.SemestreTO;

@Component
class HorarioSemestreFacade implements IHorarioSemestreFacade {

	private HorarioSemestreBO horarioSemestreBO;

	@Autowired
	public void setHorarioSemestreBO(HorarioSemestreBO horarioSemestreBO) {
		this.horarioSemestreBO = horarioSemestreBO;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see br.com.ifsp.salto.matriculadp.negocio.IHorarioSemestreFacade#getHorarioSemestre(long)
	 */
	public HorarioTO getHorarioSemestre(long idSemestre) {
		return horarioSemestreBO.getHorarioSemestre(idSemestre);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * br.com.ifsp.salto.matriculadp.negocio.IHorarioSemestreFacade#insertHorarioSemestre(br.com
	 * .ifsp. salto.matriculadp .negocio.to.HorarioTO, long, long)
	 */
	public boolean insertHorarioSemestre(HorarioTO horario, long idSemestre, long idCurso) {
		return horarioSemestreBO.insertHorarioSemestre(horario, idCurso, idSemestre);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * br.com.ifsp.salto.matriculadp.negocio.IHorarioSemestreFacade#updateHorarioSemestre(br.com
	 * .ifsp. salto.matriculadp .negocio.to.HorarioTO, long)
	 */
	public boolean updateHorarioSemestre(HorarioTO horario, long idCurso) {
		return horarioSemestreBO.updateHorarioSemestre(horario, idCurso);
	}

	public List<DisciplinaTO> getAllDisciplinas(long idCurso) {
		return horarioSemestreBO.getAllDisciplinas(idCurso);
	}

	public List<SemestreTO> getSemestres(long idCurso) {
		return horarioSemestreBO.getSemestres(idCurso);
	}

	public List<CursoTO> getCursos() {
		return horarioSemestreBO.getCursos();
	}
}
